pokemon_glitchfandomcom-20200214-history
0 ERROR
0 ERROR is a term used to refer to a trainer/fly subglitch in Generation I of the Pokémon games. The glitch causes the entirety of Route 6 to be filled with glitched effects. It is named after the 0 ERROR box that may pop up if the player opens the menu in Route 6 while the glitch is active, or the game may just crash if the menu is opened. It is also known as the walking lag glitch or glitch meta-map script activation. Performing The Glitch Before performing the glitch, the player needs to make sure that the two Jr. Trainers and the Bug Catcher haven't been fought yet. The player must approach the Bug Catcher on Route 6 and pause the game when he notices the player, then use Fly or Teleport to return to Vermilion City, as if performing any other variation of the Mew glitch. The player must walk east to Route 11 and battle any Trainer. The Trainer must walk towards the player. Alternatively, the player can interact with a PC to save their game, then reset and push a boulder with Strength or otherwise cause an NPC to move via a script to prevent a game freeze later, followed by fighting any trainer or wild pokemon not on route 6. After defeating the Trainer, the player must return to Vermilion City and speak to any NPC besides the man with a Machop. The player must then return to Route 6 without opening the start menu, as doing so will overwrite the stored textbox ID of whatever textbox that was last seen with 0-the start menu-and the player will merely preform a normal Mew glitch. When the player enters Route 6, a message will appear, usually something that one of the Trainers on Route 6 says before they are battled, and a Trainer battle should start. After winning the battle, the "0 ERROR" glitch will be active. The game should not be saved after performing the 0 ERROR glitch. Effects Of The Glitch * The player and NPCs move very slowly. * Random, glitchy noises can occur. * The sprites of Trainers on the route will flicker and may teleport around. * Player may be forced to battle Trainers continuously. * Text may become glitched. * The player may be unable to open the menu. * Game freezes are more likely to occur. All of these effects are caused by the game loading invalid map script data. If the game is saved after performing the glitch, the effects will become persistent as map script values persist through save and reset. Explanation Each textbox in the game has an ID. Textbox ID numbers are unique to the route they are found on-two different routes may have different textboxes assigned to textbox 1. However, the start menu is always 0. When performing the Mew glitch, the game uses the ID of the last textbox opened to determine what textbox to load as pre-battle text. This does not normally happen because all encounters that have pre-battle text are supposed to load the appropriate textbox ID into memory before it reaches the point of actually displaying the textbox. However, in the Mew glitch, we skip this. By talking to the NPCs (or reading signs or doing literally anything else that opens a textbox, including interacting with PCs), a textbox ID is loaded into the memory. Some textbox IDs will, on route 6, be harmless. However, trainer dialogue includes text script data that can initiate a battle with the trainer. This battle overrides the battle triggered by the Mew glitch. When battling a trainer normally, the map script pointer increments twice. The Mew glitch involves flying away from a trainer after it increments to map script 1, which leaves the route the player flew away from in a state where the game is constantly trying to display the enemy trainer or legendary's text and start the battle. As long as the text box loaded does not contain a text script that increments the map script, initiating the battle with the mew (or other, non-game-destroying pokemon or trainer spawned with the mew glitch) will set the map script to 2, which in turn will set the map script back to 0 when leaving the battle. However, by talking to NPCs before returning to route 6, the text ID can be set to one that points to a trainer's text. This results in the map script incrementing again, to the invalid ID of 4. This causes the game to attempt to read other data as map code, which typically has the effect of repeatedly attempting to improperly load textboxes. This executes any text script commands in the textbox, interrupts player movement, and hides sprites that would be below the textbox if it was properly loaded-but it is not ever actually written to video RAM and so is invisible. Some of these textboxes are valid textboxes, which may result in more battles that increment the map pointer even more. Others are just glitch text, which may contain text script sound commands that can play any sound in the game-this is the cause of all the random glitchy noises. Some invalid map script values simply crash. The player may get to these by fighting trainers after already glitching the map (which may take some time due to the lag if the player are not simply forced to fight them by the glitch text) or by performing the glitch in a route that has crash-causing data immediately after the map script data.